#ifndef TB_PREFIX_LIMITS_H
#define TB_PREFIX_LIMITS_H

#include "config.h"

#define TB_MAXS8 ((tb_sint8_t)(0x7f))
#define TB_MINS8 ((tb_sint8_t)(0x81))
#define TB_MAXU8 ((tb_uint8_t)(0xff))
#define TB_MINU8 ((tb_uint8_t)(0))

#define TB_MAXS16 ((tb_sint16_t)(0x7fff))
#define TB_MINS16 ((tb_sint16_t)(0x8001))
#define TB_MAXU16 ((tb_uint16_t)(0xffff))
#define TB_MINU16 ((tb_uint16_t)(0))

#define TB_MAXS32 ((tb_sint32_t)(0x7fffffff))
#define TB_MINS32 ((tb_sint32_t)(0x80000001))
#define TB_MAXU32 ((tb_uint32_t)(0xffffffff))
#define TB_MINU32 ((tb_uint32_t)(0))

#define TB_MAXS64 ((tb_sint64_t)(0x7fffffffffffffffLL))
#define TB_MINS64 ((tb_sint64_t)(0x8000000000000001LL))
#define TB_MAXU64 ((tb_uint64_t)(0xffffffffffffffffULL))
#define TB_MINU64 ((tb_uint64_t)(0))

#define TB_NAN32 (0x80000000)

#endif // !TB_PREFIX_LIMITS_H
